<?php
declare (strict_types = 1);

namespace app\validate;

use think\Validate;

class Menu extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名' =>  ['规则1','规则2'...]
     *
     * @var array
     */
    protected $rule = [
        // ID
        'id'            =>  'require|number',
        // 接口名称
        'name'          =>  'require',
        // 接口路径
        'link'          =>  'require',
        // 所属等级
        'class_type'    =>  'require|number|between:0,2',
        // 权限值
        'value'         =>  'require',
        // 父ID
        'level_id'      =>  'require|number',
    ];
    /**
     * 定义错误信息
     * 格式：'字段名.规则名' =>  '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require'            =>  'ID不能为空!',
        'id.number'             =>  'ID必须是数字类型!',
        
        'name.require'          =>  '接口名称不能为空!',
        
        'link.require'          =>  '接口路径不能为空!',
        
        'class_type.require'    =>  '所属等级不能为空!',
        'class_type.number'     =>  '所属等级是数字类型!',
        'class_type.number'     =>  '意外的所属等级!',
        
        'value.require'         =>  '权限值不能为空!',
        
        'level_id.require'      =>  '父ID不能为空!',
        'level_id.number'       =>  '父ID必须是数字类型!',
    ];
    
    /**
     * 定义验证场景
     * 格式：'场景名' =>  ['字段名','字段名'...]
     *
     * @var array
     */
    protected $scene = [
        'add'  =>  ['id','name','class_type','value'],
    ];   
}
